/**
 * 主功能页面，用于设置行业
 * author:zhushy
 * date:2016年8月22日22:30:42
 */
(function(){
	var selectEquip = {
		/**
		 * bindEvent 页面事件
		 */
		bindEvent:function(){
			//完成
			$("#equipNextOperate").unbind().on("click",function(){
				//提交函数的编写
				selectEquip.submitUserSetting();
			});
			//返回
			$("#equipReturn").unbind().on("click",function(){
				//跳转到设备页面
				window.history.back(-1);
			});
			
		},
		/**
		 * 提交用户设置的行业设备信息
		 */
		submitUserSetting:function(){
		    //取得已经
			//取得已经选中的行业
			var selectedDataCode = "";
			$(".selectedEquip").each(function(){
				//取得属性值，传递到下一页面
				selectedDataCode += $(this).attr("data-pk") + ",";
			});
			if(selectedDataCode.length == 0){
				common.showTip("请先选择设备");
				return false;
			}else{
				selectedDataCode = selectedDataCode.substring(0,selectedDataCode.length-1);
			}
		    //更新数据库
			//选择设备id数组
			var selectedEquipidArray = selectedDataCode.split(",");
			//选择行业的数据
			var selectedIndustryCode = window.sessionStorage.selectedDataCode;
			var selectedIndustryArray = selectedIndustryCode.split(",");
			
			var param = {
				"parts":selectedEquipidArray,
				"pk_user":window.localStorage.userid,
				"industry":selectedIndustryArray
			 };
			//调用ajax
			var ajaxUrl = "/kmsetting/App/insertUserSetting";
			common.interfaceAjaxFunction(ajaxUrl,param,this.insertUserSettingSucess);
		},
		/**
		 * 插入数据结果
		 */
		insertUserSettingSucess:function(json){
			if(json.status == "0"){
				common.showTip("设置完成",2000,function(){
					//调用根据用户查询所有行业信息-带是否设置状态，判断是否已经设置
					var param = {
						"pk_user":	window.localStorage.userid
					};
					//查询出来
					common.showLoading();
					var url = "/kmsetting/App/queryUserSetting";
					common.interfaceAjaxFunction(url,param,selectEquip.queryUserSettingSuccess);
				})
			}else{
				common.showTip(json.message);
			}
		},
		/**
	     * 根据当前用户，判断是否设置好行业，然后跳入不同页面
	     */
	    queryUserSettingSuccess:function(json){
	    	var _this = this;
	    	//成功时候
	    	if(json.status == "0"){
	    		if(json.data.length > 0){
	    			//把数据保存在sessionStorge中，用于下
		    		window.sessionStorage.userSettingJson = JSON.stringify(json);
		    		//加载设置后的主页面
		    		window.location.href = "#kmMain";
	    		}else{
	    			//加载设置页面
	    			window.location.href = "#selectIndustry";
	    		}
	    	}else{
	    		//给出信息提示
	    		common.show_error(json.message);
	    	}
	    	//转圈提示去除
	    	common.hideLoading();
	    },
		/**
		 * 初始化数据，工序、及下面对应的设备的数据
		 */
		initData:function(){
			
			//已经选中的，拆解
			var selectedDataCode = window.sessionStorage.selectedDataCode;
			var selectedDataCodeArray = selectedDataCode.split(",");
			var param = {
				"pk_user":window.localStorage.userid,
				"wherein":selectedDataCodeArray
			};
			//调用ajax
			var ajaxUrl = "/keywordselect/queryHyGxSb";
			//转圈提示
	    	common.showLoading();
			common.interfaceAjaxFunction(ajaxUrl,param,this.queryProcessSucess);
		},
		/**
		 * 取得工序的结果处理
		 */
		queryProcessSucess:function(json){
			var _this = this;
	    	//成功时候
	    	if(json.status == "0"){
	    		if(json.data.length > 0){
	    			//把工序数据显示
	    			selectEquip.showProcessDataList(json);
	    		}else{
	    			//加载设置页面
	    			common.show_nodata("当前页面无工序信息","selectProcessList");
	    		}
	    	}else{
	    		//给出信息提示
	    		common.show_error(json.message);
	    	}
	    	//转圈提示去除
	    	common.hideLoading();
		},
		/**
		 * 显示工序信息
		 */
		showProcessDataList:function(json){
			var industryList = json.data;
			//循环工序数据
			for(var i=0;i<industryList.length;i++){
				var currentindustryRow = industryList[i];
				//拼接
				var processListStr = "<div class='set-list-h1'>"+ currentindustryRow.cate_name +"</div>"
						+"   <ul class='set_link'> ";
			    //内部，还得循环显示工序列表
				for(var j=0;j<currentindustryRow.list.length;j++){
					var currentProcessRow = currentindustryRow.list[j];
					//if(j==0){
				    	processListStr += "<li data-code='"+currentProcessRow.pk_industry_chart+"'  data-index='"+ i + "_" + j +"' class='processListRow'>" + currentProcessRow.cate_name
								+"<a href='javascript:void(0);' class='rt_line'></a>";
				    	//在这个地方，对于每一个工序中，内部显示对应的设备列表
				    	//拼接串
						var equipListStr = '<ul class="set-link-three">';
						//循环内层
						for(var k=0;k<currentProcessRow.list.length;k++){
							var currentEquipRow = currentProcessRow.list[k];
							//如果选中，则划伤对勾
							if(currentEquipRow.selected =="Y"){
								equipListStr += '<li data-code="'+currentEquipRow.cate_code+'">'+currentEquipRow.cate_name+'<span data-pk="'+currentEquipRow.pk_industry_chart+'" class="selectedEquip"><a href="javascript:void(0);"></a></span></li>';
							}else{
								equipListStr += '<li data-code="'+currentEquipRow.cate_code+'">'+currentEquipRow.cate_name+'<span data-pk="'+currentEquipRow.pk_industry_chart+'"></span></li>';
							}
							
						}
						equipListStr +='</ul>';
						//如果没有设备，则置空数据ul
						if(currentProcessRow.list.length == 0){
							equipListStr = "";
						}
						//显示内容
						processListStr +="	<span id='equipList_" + i + "_" + j + "' class='equipLeftList' style='display:none;'>"+equipListStr+"</span>"
							+"</li>";	
				    /*}else{
				    	processListStr += "<li data-code='"+currentProcessRow.pk_industry_chart+"'  data-index='"+ i + "_" + j +"' class='processListRow'>" + currentProcessRow.cate_name
						+"	<a href='#' class='rt_line'></a>"
						+"</li>";
				    }*/
				}
			    processListStr +="</ul></div>";
			    //加到页面上去
			    $("#indestryProcessList").append(processListStr);
			    //事件的绑定加入
	    		$(".processListRow").unbind().on("click",function(){
	    			//原来的设备列表隐藏
	    			var processIndex = $(this).attr("data-index");
	    			//隐藏所有设备列表
	    			$(".equipLeftList").hide();
	    			//取值
	    			//var dataCode = $(this).attr("data-code");
	    			//判断如果为空，则加上对勾
	    			if(processIndex != undefined && processIndex != ""){
	    				//查询设备
	    				//selectEquip.searchEuipByProcessId(dataCode);
	    				//无设备提醒
	    				if($("#equipList_" + processIndex).html() == ""){
    		    			//提示当前工序无设备
    		    			common.showTip("当前工序无设备");
    		    			return false;
    		    		}
	    				//显示当前
	    				$("#equipList_" + processIndex).show();
	    				//给设备li加上事件绑定
	    	    		$(".set-link-three li").unbind().on("click",function(){	
	    	    			var spanHtml = $(this).find("span").html();
	    	    			//判断如果为空，则加上对勾
	    	    			if(spanHtml == ""){
	    	    				$(this).find("span").html("<a href='javascript:void(0);'></a>").addClass("selectedEquip");
	    	    			}else{
	    	    				$(this).find("span").html("").removeClass("selectedEquip");
	    	    			}
	    	    			return false
	    	    		});
	    			}else{
	    				common.showTip("请选择合法的工序数据");
	    			}
	    		});
			  }
			},
			/**
			 * 根据工序查询设备
			 */
			searchEuipByProcessId:function(dataCode){
				var dataCodeArray = new Array();
				dataCodeArray[0] = dataCode;
				var param = {
						"pk_industry_chart":dataCodeArray
				};
				//调用ajax
				var ajaxUrl = "/keywordselect/App/queryEquipment";
				//转圈提示
		    	common.showLoading();
				common.interfaceAjaxFunction(ajaxUrl,param,this.queryEquipmentSucess);
		  },
		/**
		 * 查询设备结果处理
		 */
		queryEquipmentSucess:function(json){
			//成功时候
	    	if(json.status == "0"){
	    		if(json.data.length > 0 && json.data[0].data.length > 0){
	    			//显示设备信息
	    			selectEquip.showQueryEquipment(json);
	    		}else{
	    			//提示当前工序无设备
	    			common.showTip("当前工序无设备");
	    		}
	    	}else{
	    		//给出信息提示
	    		common.show_error(json.message);
	    	}
	    	//转圈提示去除
	    	common.hideLoading();
		},
		/**
		 * 显示设备信息列表
		 */
		showQueryEquipment:function(json){
			//工序号取得
			var processIndex = window.sessionStorage.processIndex;
			//拼接串
			var equipListStr = '<ul class="set-link-three">';
			//循环内层data
			var jsonData = json.data[0].data;
			for(var i=0;i<jsonData.length;i++){
				var currentEquipRow = jsonData[i];
				equipListStr += '<li data-code="'+currentEquipRow.cate_code+'">'+currentEquipRow.cate_name+'<span data-pk="'+currentEquipRow.pk_industry_chart+'"></span></li>';
			}
			equipListStr +='</ul>';
			//显示
			$("#equipList_" + processIndex).html(equipListStr);
			if(processIndex != ""){
				$("#equipList_" + processIndex).show();
			}
			//给设备li加上事件绑定
    		$(".set-link-three li").unbind().on("click",function(){
    			var spanHtml = $(this).find("span").html();
    			//判断如果为空，则加上对勾
    			if(spanHtml == ""){
    				$(this).find("span").html("<a href='javascript:void(0);'></a>").addClass("selectedEquip");
    			}else{
    				$(this).find("span").html("").removeClass("selectedEquip");
    			}
    			return false
    		});
		}
	};
	$(document).ready(function(){
		//加载数据
		selectEquip.initData();
		//console.log("test=========");
		//事件绑定
		selectEquip.bindEvent();
	});
})();